Equipment may be grouped into collections based on a key value. The key is defined by the user and must a numeric user property. The initial value of the property is used to identify the equipment within the collection.
The collection may be searched at a later time, the equipment that has the requested key value is returned to the caller.
void SetComponentKey(userPropName: string);
Called to setup a collection, keyed by the user property 'userPropName'
| Name | Type | Description |
| userPropName | String | The name of the user property that is to be the key value |
object GetComponentByKey(userPropName: string, keyValue: number);
Called to get the equipment associated with the key value
| Name | Type | Description |
| userPropName | String | The name of the user property that is to be the key value |
| keyValue | Number | The value of the key |
The return value is the equipment with the associated key value, this call will return 'null' if the key value cannot be found
Example:
function OnSimulationStart() {
SetComponentKey("LocationID");
}
function ProductTracking(msg, hdr) {
var product = UpdateProductPosition(GetComponentByKey("LocationID", msg.locationid), msg.distance, msg.BC);
if (product != null) {
product.Text = msg.BC;
product.Length = msg.l;
product.Width = msg.w;
product.Height = msg.h;
product.Direction = msg.d;
}
}
GetComponentKey and SetComponentKey only works with transport equipment, not with products. To find product try GetProductFromID(String Identifier); where Identifier is product.Identifier.